package com.itheima.sh.a_test_01;

public class Test03 {
    /*
        目标：完成任意四位数的数字加密算法
     */
        public static void main(String[] args) {
            //7.调用加密算法
            String encryptPwd = encrypt(1983);
            System.out.println("encryptPwd = " + encryptPwd);
        }
        /*
            1.定义方法求四位数的加密结果，要求方法接收四位数，返回加密后的字符串
         */
        public static String encrypt(int number){
            //int number=1983
            //2.将接收的四位数的每一位进行拆分，然后存储到int类型数组中
            //2.1定义一个长度是4的数组
            int[] arr=new int[4];
            //2.2分别获取number即四位数的每一位数字然后存储到数组中{1,9,8,3}
            arr[3] = number%10;//个位 3
            arr[2] = number/10%10;//十位 8
            arr[1] = number/10/10%10;//百位 9
            arr[0] = number/10/10/10%10;//千位 1
            //3.遍历上述数组对每一个空间的数据进行+5，然后取余数
            for (int i = 0; i < arr.length; i++) {
                arr[i] = (arr[i]+5) % 10;//i=0,取出的数据是1
            }

            //4.对上述数组进行反转，将第一个空间和最后一个空间数据进行交换，以此类推
            //原来数组：{6,4,3,8}===>反转{8,3,4,6}
            for(int i=0,j= arr.length-1;i<j;i++,j--){
                //开始交换
                int temp=arr[j];
                arr[j]=arr[i];
                arr[i]=temp;
            }

            //5.遍历上述数组arr取出数据拼接到字符串中
            //5.1定义一个空的字符串
            String password="";
            //5.2遍历数组
            for (int i = 0; i < arr.length; i++) {
                password=password+arr[i];//这里的+起到连接作用
            }

            //6.返回拼接的字符串
            return password;
        }
    }

